﻿// JScript 文件

$("#selectAll").click(function () {
    if (this.checked) {
        $("#js-user :checkbox").prop("checked", true);
    } else {
        $("#js-user :checkbox").prop("checked", false);
    }
})
$("#delAll").click(function () {
    var delList = [];
    $("#js-user :checkbox").each(function (index, item) {
        if (this.checked) {
            delList.push($(item).val());
        }
    });
    if (delList.length > 0) {
        var _json = jQuery.param({"tid": delList + ""});

        // 3 指定送向后台哪个处理程序以及传送的方式，并传送
        var request = $.ajax({
            url: "../api/delUser.ashx",
            type: "POST",
            async: false,
            data: _json, //不能直接写成 {id:"123",code:"tomcat"}
            dataType: "json",
            // contentType: "charset=utf-8",
            cache: false,

            //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
            success: function (data) {
                var json = data;

                if (json.r > 0) {
                    //提示插入成功
                    swal("成功", "用户已被删除", "success");
                    getUser();
                    //关闭弹出窗口
                } else {
                    swal("失败", "用户删除失败", "warning");
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.readyState);
            }
        });
    }
    console.log(delList);
})

// 分类列表删除按钮
$("#js-user").on("click", function (e) {
    if (e.target && e.target.nodeName.toLowerCase() === "button" && e.target.classList.contains("del")) {
        swal({
                title: "确定?",
                text: "删除用户后将不可恢复!",
                type: "warning",
                showCancelButton: true,
                confirmButtonColor: "#DD6B55",
                cancelButtonText: "取消",
                confirmButtonText: "确认删除",
                closeOnConfirm: false
            },
            function () {
                // 删除类别
                var tid = e.target.dataset.id;
                var _json = jQuery.param({"tid": tid});

                // 3 指定送向后台哪个处理程序以及传送的方式，并传送
                var request = $.ajax({
                    url: "../api/delUser.ashx",
                    type: "POST",
                    async: false,
                    data: _json, //不能直接写成 {id:"123",code:"tomcat"}  
                    dataType: "json",
                    // contentType: "charset=utf-8",  
                    cache: false,

                    //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
                    success: function (data) {
                        var json = data;

                        if (json.r > 0) {
                            //提示插入成功

                            swal("成功", "该用户已被删除", "success");
                            getUser();

                            //关闭弹出窗口
                        } else {
                            swal("失败", "该用户删除失败", "warning");
                            getUser();
                        }
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert(XMLHttpRequest.readyState);
                    }
                });

            });
    } else if (e.target && e.target.nodeName.toLowerCase() === "button" && e.target.classList.contains("update")) {
        // 修改类别
        var tid = e.target.dataset.id;
        var _json = jQuery.param({"tid": tid});

        // 3 指定送向后台哪个处理程序以及传送的方式，并传送
        var request = $.ajax({
            url: "../api/getUser.ashx",
            type: "POST",
            async: false,
            data: _json, //不能直接写成 {id:"123",code:"tomcat"}  
            dataType: "json",
            // contentType: "charset=utf-8",  
            cache: false,

            //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
            success: function (data) {
                var json = data;

                if (json.r > 0) {
                    //提示插入成功
                    //getTypes();
                    updateUser.username.value = json.data[0].username;
                    updateUser.auth.value = json.data[0].limit;
                    updateUser.password.value = "";
                    $("#typeUpdateBtn").attr("data-id", json.data[0].id);
                    $("#updateTypes").modal("show");

                    //关闭弹出窗口
                } else {
                    swal("失败", "获取类别失败", "warning");
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.readyState);
            }
        });
    }
})
// 修改后提交
$("#typeUpdateBtn").on("click", function () {

    if ( updateUser.username.value == "") {
        swal("失败", "用户名不能为空", "warning");
        return;
    }
    var _json = jQuery.param({"tid": $(this).data("id"), "username": updateUser.username.value, "password": updateUser.password.value, "limit":updateUser.auth.value});

    // 3 指定送向后台哪个处理程序以及传送的方式，并传送
    var request = $.ajax({
        url: "../api/updateUser.ashx",
        type: "POST",
        async: false,
        data: _json, //不能直接写成 {id:"123",code:"tomcat"}  
        dataType: "json",
        // contentType: "charset=utf-8",  
        cache: false,

        //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
        success: function (data) {
            var json = data;

            if (json.r > 0) {
                swal("成功", "修改用户成功", "success");
                getUser();
                $("#updateTypes").modal("hide");
            } else {
                swal("失败", "修改用户失败", "warning");
            }
            getTypes();
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.readyState);
        }
    });
});

// 添加类别
$("#addUser").on("click", function () {

    var e = event || window.event;
    e.preventDefault();

    var form = new FormData(document.getElementById("addUserForm"));
    if (addUserForm.username.value == "") {
        swal("失败", "用户名不能为空", "warning");
    } else {

        $.ajax({
            url: "../api/addUser.ashx",
            type: "post",
            data: form,
            cache: false,
            dataType: "json",
            processData: false,
            contentType: false,
            success: function (data) {
                if (data.r > 0) {
                    swal("成功", "用户新增成功，密码为：【" + data.data + "】，请妥善保管！", "success");
                    getUser();
                    addUserForm.reset();
                    $('#myTab li:eq(1) a').tab('show'); // Select third tab (0-indexed)
                } else {
                    swal("失败", "用户新增失败。" + data.data, "warning");
                }
            },
            error: function (e) {
                alert("网络错误，请重试！！");
            }
        });

    }
});


function getUser() {
    $.ajax({
        url: "../api/getUser.ashx",
        type: "post",
        // data:form,  
        cache: false,
        processData: false,
        contentType: false,
        success: function (data) {
            if (data.r > 0) {
               renderUser(data.data); 
            } else {
                renderUser(data.data); 
            }
            console.log(data.data)
        },
        error: function (e) {
            alert("网络错误，请重试！！");
        }
    });
}

// 渲染
function renderUser(data) {

    if (data == null) {
        $("#js-user").html("暂无数据");
    }

    var outstr = "";
    data.forEach(function (item, index) {
        var auth = item.limit === 1 ? "管理员" : item.limit === 2 ? "网站编辑" : "普通用户";
        outstr += "<tr>" +
            "<td><input type=\"checkbox\" name=\"selectType\" value=\"" + item.id + "\" /></td>" +
            "<td>" + item.username + "</td>" +
             "<td>" + auth + "</td>" +
            "<td>" +
            "<button type=\"button\" class=\"btn btn-info btn-xs update\" data-id=" + item.id + ">更改</button> " +
            "<button type=\"button\" class=\"btn btn-danger btn-xs del\" data-id=" + item.id + ">删除</button>" +
            "</td>" +
            "</tr>";
    });
    $("#js-user").html(outstr);
}

function init() {
    getUser();
}

init();